// 引入api
import {reqGetcate,reqGetgoods,reqCartadd} from "../../request/api"
// 初始值
const initState = {
    // 初始化data
    // 商品分类
    cates: [],
    // 分类商品
    goods: [],
}

// actionsTypes
const types = {
    // 修改数据 type
    // 商品分类
    CHANGE_CATES: "CATE_CHANGE_CATES",
    // 分类商品
    CHANGE_GOODS: "CATE_CHANGE_GOODS",
}

// reducer 修改数据
const reducer = (state = initState, action) => {
    switch (action.type) {
        // 商品分类
        case types.CHANGE_CATES:
            return {
                ...state,
                cates:action.cates
            }
            // 分类商品
        case types.CHANGE_GOODS:
            return {
                ...state,
                goods:action.goods
            }
        default:
            return state;
    }

}

// actionCreators组件派发的动作
export const actions={
    // 修改user的action
    // 商品分类
    changeCates:(cates)=>({type:types.CHANGE_CATES,cates}),
    // 分类商品
    changeGoods:(goods)=>({type:types.CHANGE_GOODS,goods}),

    
    // 请求(异步操作)
    // 商品分类
    reqGetcate:(history)=>(dispatch,getState)=>{
        reqGetcate().then(res => {
            if (res.data.code === 200) {
                dispatch(actions.changeCates(res.data.list))
                //跳转页面
                // history.push("/index/store")
            }
        })
    },
    // 分类商品
    reqGetgoods:(id)=>(dispatch,getState)=>{
        console.log(id);
        
        reqGetgoods({fid:id}).then(res => {
            if (res.data.code === 200) {
                dispatch(actions.changeGoods(res.data.list))
                //跳转页面
                // history.push("/index/store")
            }
        })
    },
    // 加购
    reqCartadd:(id)=>(dispatch,getState)=>{
        reqCartadd({uid:JSON.parse(sessionStorage.getItem("user")).uid,type:1,goodsid:id,num:1})
    },
}

//selectors导出数据 
// 商品分类
export const getCates=state=>state.cate.cates;
// 分类商品
export const getGoods=state=>state.cate.goods;
  
export default reducer